ChannelSettingsOrBuilder

interface ChannelSettingsOrBuilder : MessageOrBuilder

Inheritors

Functions

Link copied to clipboard
abstract fun getChannelNum(): Int

Deprecated in favor of LoraConfig.channel_num
uint32 channel_num = 1 [deprecated = true];
Link copied to clipboard
abstract fun getDownlinkEnabled(): Boolean

If true, messages seen on the internet will be forwarded to the local mesh.
bool downlink_enabled = 6;
Link copied to clipboard
abstract fun getId(): Int

Used to construct a globally unique channel ID.
The full globally unique ID will be: "name.id" where ID is shown as base36.
Assuming that the number of meshtastic users is below 20K (true for a long time)
the chance of this 64 bit random number colliding with anyone else is super low.
And the penalty for collision is low as well, it just means that anyone trying to decrypt channel messages might need to
try multiple candidate channels.
Any time a non wire compatible change is made to a channel, this field should be regenerated.
There are a small number of 'special' globally known (and fairly) insecure standard channels.
Those channels do not have a numeric id included in the settings, but instead it is pulled from
a table of well known IDs.
(see Well Known Channels FIXME)
fixed32 id = 4;
Link copied to clipboard

Per-channel module settings.
.meshtastic.ModuleSettings module_settings = 7;
Link copied to clipboard

Per-channel module settings.
.meshtastic.ModuleSettings module_settings = 7;
Link copied to clipboard
abstract fun getName(): String

A SHORT name that will be packed into the URL.
Less than 12 bytes.
Something for end users to call the channel
If this is the empty string it is assumed that this channel
is the special (minimally secure) "Default"channel.
In user interfaces it should be rendered as a local language translation of "X".
For channel_num hashing empty string will be treated as "X".
Where "X" is selected based on the English words listed above for ModemPreset
string name = 3;
Link copied to clipboard
abstract fun getNameBytes(): ByteString

A SHORT name that will be packed into the URL.
Less than 12 bytes.
Something for end users to call the channel
If this is the empty string it is assumed that this channel
is the special (minimally secure) "Default"channel.
In user interfaces it should be rendered as a local language translation of "X".
For channel_num hashing empty string will be treated as "X".
Where "X" is selected based on the English words listed above for ModemPreset
string name = 3;
Link copied to clipboard
abstract fun getPsk(): ByteString

A simple pre-shared key for now for crypto.
Must be either 0 bytes (no crypto), 16 bytes (AES128), or 32 bytes (AES256).
A special shorthand is used for 1 byte long psks.
These psks should be treated as only minimally secure,
because they are listed in this source code.
Those bytes are mapped using the following scheme:
`0` = No crypto
`1` = The special "default" channel key: {0xd4, 0xf1, 0xbb, 0x3a, 0x20, 0x29, 0x07, 0x59, 0xf0, 0xbc, 0xff, 0xab, 0xcf, 0x4e, 0x69, 0x01}
`2` through 10 = The default channel key, except with 1 through 9 added to the last byte.
Shown to user as simple1 through 10
bytes psk = 2;
Link copied to clipboard
abstract fun getUplinkEnabled(): Boolean

If true, messages on the mesh will be sent to the *public* internet by any gateway ndoe
bool uplink_enabled = 5;
Link copied to clipboard
abstract fun hasModuleSettings(): Boolean

Per-channel module settings.
.meshtastic.ModuleSettings module_settings = 7;